package com.lingxu.module.earlyWarn.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lingxu.module.earlyWarn.entity.ApprovalList;
import com.lingxu.module.earlyWarn.entity.IssueManage;
import com.lingxu.module.earlyWarn.entity.IssueParams;
import com.lingxu.module.earlyWarn.entity.SourceTable;
import com.lingxu.module.earlyWarn.vo.AreaTree;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Title: IssueManageMapper
 * @Package: com.lingxu.module.earlyWarn.mapper
 * @Author: ysj闫世杰
 * @Email: 1105324813@qq.com
 * @Date: Created in 2024/1/3 15:08
 * @Description:
 * @Version: 1.0.0
 */
@Mapper
public interface IssueManageMapper extends BaseMapper<IssueManage> {

    List<String> findAllTagList();

    List<AreaTree> findRegionTree();

    IPage<IssueManage> findIssueCheckedList(@Param("params") IssueParams params,
                                            @Param("managePage") Page<IssueManage> managePage);

    IPage<ApprovalList> findIssueHandleNeedApproval(@Param("params") IssueParams params,
                                                    @Param("managePage") Page<ApprovalList> managePage);

    int findIssueHandleNeedApprovalCount(@Param("params") IssueParams params,@Param("type") String type);

    List<SourceTable> getHaveTableListByModelId(@Param("modelId") String modelId);

    Object deleteIssueManageByModelId(@Param("modelId") String modelId);
}
